package com.ynet.middleground.user.bean;

import javax.validation.constraints.NotEmpty;

import com.ynet.core.common.BaseReqObj;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @program: 2019-10-12_userCenter
 * @description: 发起企业实名认证4要素校验
 * @author: DaiGaoLe
 * @create: 2019-11-13 11:17
 **/
@Data
@ApiModel(value = "发起企业实名认证4要素校验", description = "发起企业实名认证4要素校验")
public class EnterpriseCertification4FactorVerificationReq extends BaseReqObj {

    private static final long serialVersionUID = -1742927850191057755L;
    /**
     * 组织机构证件（如营业执照）上的组织机构名称 必输字段
     */
    @NotEmpty(message = "组织机构证件（如营业执照）上的组织机构名称不能为空")
    @ApiModelProperty(value = "组织机构名称", notes = "组织机构名称", dataType = "String", required = true)
    private String name;
    /**
     * 组织机构证件号,支持统一社会信用代码号和工商注册号（部分个体工商户）必输字段
     */
    @NotEmpty(message = "组织机构证件号不能为空")
    @ApiModelProperty(value = "组织机构证件号", notes = "组织机构证件号", dataType = "String", required = true)
    private String orgCode;

    /**
     * 法人证件类型。不传默认：中国大陆身份证INDIVIDUAL_CH_IDCARD-中国大陆身份证INDIVIDUAL_CH_TWCARD-台湾来往大陆通行证INDIVIDUAL_CH_HONGKONG_MACAO-港澳来往大陆通行证
     *
     * INDIVIDUAL_PASSPORT-护照
     */
    @ApiModelProperty(
        value = "法人证件类型。不传默认：中国大陆身份证；INDIVIDUAL_CH_IDCARD-中国大陆身份证；INDIVIDUAL_CH_TWCARD-台湾来往大陆通行证；INDIVIDUAL_CH_HONGKONG_MACAO-港澳来往大陆通行证； INDIVIDUAL_PASSPORT-护照",
        notes = "法人证件类型。不传默认：中国大陆身份证；INDIVIDUAL_CH_IDCARD-中国大陆身份证；INDIVIDUAL_CH_TWCARD-台湾来往大陆通行证；INDIVIDUAL_CH_HONGKONG_MACAO-港澳来往大陆通行证； INDIVIDUAL_PASSPORT-护照",
        dataType = "String")
    private String legalRepCertType;

    /**
     * 法定代表人名称 必输字段
     */
    @NotEmpty(message = "法定代表人名称不能为空")
    @ApiModelProperty(value = "法定代表人名称", notes = "法定代表人名称", dataType = "String", required = true)
    private String legalRepName;
    /**
     * 法定代表人证件号 必输字段
     */
    @NotEmpty(message = "法定代表人证件号不能为空")
    @ApiModelProperty(value = "法定代表人证件号", notes = "法定代表人证件号", dataType = "String", required = true)
    private String legalRepIdNo;
    /**
     * 对接方业务上下文id，将在异步通知及跳转时携带返回对接方 不是必输
     */
    @ApiModelProperty(value = "对接方业务上下文id", notes = "对接方业务上下文id", dataType = "String")
    private String contextId;
    /**
     * 认证结束后异步通知地址,具体见"异步通知"章节说明 不是必输
     */
    @ApiModelProperty(value = "认证结束后异步通知地址", notes = "认证结束后异步通知地址", dataType = "String")
    private String notifyUrl;
}
